﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QLDHS.DAL;
using QLDHS.DO;

namespace QLDHS
{
    public partial class HSNS : Form
    {
        HSNS_DAL hsnv = new HSNS_DAL();
        HSNS_DO hs = new HSNS_DO();


        public HSNS()
        {
            InitializeComponent();
        }
        private void LoadALLNhanvien()
        {
            grv_hsns.DataSource = hsnv.loadAllhs().Tables[0];
        }
        private void Loadchucvu()
        {
            cbx_chucvu.DataSource = hsnv.LoalallChucvu().Tables[0];
            cbx_chucvu.DisplayMember = "TENCV";
            cbx_chucvu.ValueMember = "MACV";
        }


        private void LoadPhongban()
        {
            cbx_phongban.DataSource = hsnv.LoalallPhongban().Tables[0];
            cbx_phongban.DisplayMember = "TENDV";
            cbx_phongban.ValueMember = "MADV";
        }

        private void HSNS_Load(object sender, EventArgs e)
        {
            btn_update.Enabled = false;
            btn_Xoa.Enabled = false;
            LoadALLNhanvien();
            Loadchucvu();
            LoadPhongban();
        }

        private bool CheckNullData(
                 string str, string str1, string str2, string str3, string str4, string str5, string str6, string str7,
            string str8, string str9, string str10, string str11, string str12)
        {
            if (str.Length == 0 ||
                str1.Length == 0 ||
                str2.Length == 0 ||
                str3.Length == 0 ||
                str4.Length == 0 ||
                str5.Length == 0 ||
                str6.Length == 0 ||
                str7.Length == 0 ||
                str8.Length == 0 ||
                str9.Length == 0 ||
                str10.Length == 0 ||
                str11.Length == 0
                || str12.Length == 0)
            {
                return false;
            }
            return true;
        }
        private void btn_add_Click(object sender, EventArgs e)
        {
            if (CheckNullData(
                txt_maNV.Text,
                txt_Hoten.Text,
                txt_gioitinh.Text,
                txt_dantoc.Text,
                txt_tongiao.Text,
                txt_quequan.Text,
                txt_soCMTND.Text,
                txt_quequan.Text,
                txt_Baohiem.Text,
                txt_dangvien.Text,
                txt_ngayvaodoan.Text,
                txt_trinhdo.Text,
                txt_hopdong.Text))
            {

                hs.NvmaCB = txt_maNV.Text;
                hs.NvmaCV = cbx_chucvu.SelectedValue.ToString();
                hs.Nvhoten = txt_Hoten.Text;
                hs.Nvgaysinh = Convert.ToDateTime(txt_ngaysinh.Text);
                hs.Nvgioitinh = txt_gioitinh.Text;
                hs.Nvdantoc = txt_dantoc.Text;
                hs.Nvtongiao = txt_tongiao.Text;
                hs.NvsoCMTND = txt_soCMTND.Text;
                hs.Nvquequan = txt_quequan.Text;
                hs.NvsoBH = txt_Baohiem.Text;
                hs.NvisDangVien = txt_dangvien.Text;
                hs.Nvngayvaodoan = txt_ngayvaodoan.Text;
                hs.Nvtrinhdo = txt_trinhdo.Text;
                hs.Nvhopdong = txt_hopdong.Text;
                if (chk_bienche.Checked)
                {
                    hs.Nvbienche = true;
                }
                else
                {
                    hs.Nvbienche = false;
                }

                hs.NvmaDV = cbx_phongban.SelectedValue.ToString();

                int checkInsert = hsnv.insertHSHS(hs);
                if (checkInsert > 0)
                {
                    MessageBox.Show("Thêm mới Nhân viên có mã :" + txt_maNV.Text + ":Thành công!");
                    LoadALLNhanvien();
                }
                else
                {
                    MessageBox.Show("Thêm mới thất bại ", "Cảnh báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                }
            }
            else
            {
                MessageBox.Show("thông tin ở các trường dữ liệu không được rỗng ", "Cảnh báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            }
        }

        private void btn_update_Click(object sender, EventArgs e)
        {
            if (CheckNullData(
               txt_maNV.Text,
               txt_Hoten.Text,
               txt_gioitinh.Text,
               txt_dantoc.Text,
               txt_tongiao.Text,
               txt_quequan.Text,
               txt_soCMTND.Text,
               txt_quequan.Text,
               txt_Baohiem.Text,
               txt_dangvien.Text,
               txt_ngayvaodoan.Text,
               txt_trinhdo.Text,
               txt_hopdong.Text))
            {
                btn_add.Enabled = false;
                btn_Xoa.Enabled = false;


                hs.NvmaCB = txt_maNV.Text;
                hs.NvmaCV = cbx_chucvu.SelectedValue.ToString();
                hs.Nvhoten = txt_Hoten.Text;
                hs.Nvgaysinh = Convert.ToDateTime(txt_ngaysinh.Text);
                hs.Nvgioitinh = txt_gioitinh.Text;
                hs.Nvdantoc = txt_dantoc.Text;
                hs.Nvtongiao = txt_tongiao.Text;
                hs.NvsoCMTND = txt_soCMTND.Text;
                hs.Nvquequan = txt_quequan.Text;
                hs.NvsoBH = txt_Baohiem.Text;
                hs.NvisDangVien = txt_dangvien.Text;
                hs.Nvngayvaodoan = txt_ngayvaodoan.Text;
                hs.Nvtrinhdo = txt_trinhdo.Text;
                hs.Nvhopdong = txt_hopdong.Text;
                if (chk_bienche.Checked)
                {
                    hs.Nvbienche = true;
                }
                else
                {
                    hs.Nvbienche = false;
                }

                hs.NvmaDV = cbx_phongban.SelectedValue.ToString();

                int checkInsert = hsnv.UpdateNhanvien(hs);
                if (checkInsert > 0)
                {
                    MessageBox.Show("Cập Nhật Nhân viên có mã :" + txt_maNV.Text + ":Thành công!");
                    LoadALLNhanvien();
                }
                else
                {
                    MessageBox.Show("Cập Nhật thất bại ", "Cảnh báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                }
            }
            else
            {
                MessageBox.Show("thông tin ở các trường dữ liệu không được rỗng ", "Cảnh báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            }
        }

        private void btn_Xoa_Click(object sender, EventArgs e)
        {
            btn_update.Enabled = false;
            btn_add.Enabled = false;
            string manv = txt_maNV.Text;
            int checkdel = hsnv.delHS(manv);
            if (checkdel > 0)
            {

                MessageBox.Show("Xóa Nhân viên có mã :" + txt_maNV.Text + ":Thành công!");
                LoadALLNhanvien();
            }
            else
            {
                MessageBox.Show("xóa thất bại ", "Cảnh báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            }

        }

        private void txt_search_Click(object sender, EventArgs e)
        {
            if (txt_input_search.Text.Length != 0)
            {
               grv_hsns.DataSource= hsnv.SearchByname(txt_input_search.Text);
            }
            else
            {
                MessageBox.Show("Dữ liệu tìm kiếm không được trống ", "Cảnh báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            }
        }

        private void grv_hsns_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (grv_hsns.SelectedRows.Count > 0)
            {
                btn_add.Enabled = false;
                btn_update.Enabled = true;
                btn_Xoa.Enabled = true;
                txt_maNV.Enabled = false;
                txt_maNV.Text = grv_hsns.SelectedRows[0].Cells["MACB"].Value.ToString();
                txt_Hoten.Text = grv_hsns.SelectedRows[0].Cells["HOTEN"].Value.ToString();
                txt_ngaysinh.Text = grv_hsns.SelectedRows[0].Cells["NGAYSINH"].Value.ToString();
                txt_gioitinh.Text = grv_hsns.SelectedRows[0].Cells["GIOITINH"].Value.ToString();
                txt_dantoc.Text = grv_hsns.SelectedRows[0].Cells["DANTOC"].Value.ToString();
                txt_tongiao.Text = grv_hsns.SelectedRows[0].Cells["MACB"].Value.ToString();
                txt_ngayvaodoan.Text = grv_hsns.SelectedRows[0].Cells["TONGIAO"].Value.ToString();
                txt_Baohiem.Text = grv_hsns.SelectedRows[0].Cells["NGAYVAODOAN"].Value.ToString();
                txt_dangvien.Text = grv_hsns.SelectedRows[0].Cells["SOBAOHIEM"].Value.ToString();
                txt_hopdong.Text = grv_hsns.SelectedRows[0].Cells["HOPDONG"].Value.ToString();

            }
            else
            {
                MessageBox.Show("Bạn chưa chọn bản ghi nào để xem", "Cảnh báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);

            }
        }
    }
}
